package com.zhuangjie.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuangjie.security.entity.AuthenticationTokens;
import com.zhuangjie.user.dto.WeixinLoginDTO;
import com.zhuangjie.user.entity.User;
import com.zhuangjie.user.vo.AssetsStatisticsVO;

import java.util.concurrent.ExecutionException;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author zhuangjie
 * @since 2023-10-15
 */
public interface UserService extends IService<User> {

    AuthenticationTokens wxLogin(WeixinLoginDTO wxLoginInput) throws Exception;

    String getUserWXOpenId(Long userId);

    AssetsStatisticsVO assetsStatistics() throws ExecutionException, InterruptedException;

    AuthenticationTokens refreshToken(String refreshToken) throws Exception;
}
